package org.minbox.framework.mantool.secure;

import org.minbox.framework.mantool.core.util.lang.ByteUtil;
import java.security.MessageDigest;

/**
 * Md5 编码 Utils 函数
 *
 * @author 就眠仪式
 * */
public class Md5Util {

    /**
     * MD5 加密字符串
     *
     * @param str
     * */
    public static String encode(String str){
        if(!str.equals("")){
            try {
                MessageDigest md = MessageDigest.getInstance("MD5");
                md.update(str.getBytes());
                return ByteUtil.bytesToHex(md.digest());
            } catch (Exception e){
                e.printStackTrace();
            }
        }
        return "";
    }

    /**
     * 获取32位加密
     *
     * @param str
     * @return
     */
    public static String encode32(String str){
        return encode(str);
    }

    /**
     * 获取16位机密
     *
     * @param str
     * @return
     */
    public static String encode16(String str){
        return encode(str).substring(8, 24);
    }
}
